package com.hbnu.expression;

import java.util.Random;
import java.util.Scanner;

/**
 * 需求：程序自动生成一个1-100之间的数字，使用程序实现猜出这个数字是多少？
 * 当猜错的时候根据不同情况给出相应的提示
 * ·如果猜的数字比真实数字大，提示你猜的数据大了
 * ·如果猜的数字比真实数字小，提示你猜的数据小了
 * ·如果猜的数字与真实数字相等，提示恭喜你猜中了
 *
 * @author kittychen
 * @since 2025-09-10 17:12
 */
public class Expression04 {
    public static void main(String[] args) {
        Random random = new Random();
        int number = random.nextInt(100) + 1;

        Scanner scanner = new Scanner(System.in);
        int guessNumber = 0;

        while (true) {
            System.out.println("请输入1-100之间的数字(输入0退出游戏)：");
            try {
                guessNumber = Integer.parseInt(scanner.nextLine());
            } catch (NumberFormatException e) {
                System.out.println("请输入数字，而不是其他非数字");
                continue;
            }

            if (guessNumber < 0 || guessNumber > 100) {
                System.out.println("认识字不？");
                continue;
            }
            if (guessNumber == 0) {
                System.exit(0);  // 结束程序
            }

            if (guessNumber < number) {
                System.out.println("你输入的数字太小了。。。。。。");
            } else if (guessNumber > number) {
                System.out.println("你输入的数字大了------->");
            } else {
                System.out.println("恭喜你猜对了!!!!!");
                break;
            }
        }
    }
}
